Skip to content
main
Switch branches/tags
jam0001/some-team/
jam0001/some-team/

Latest commit

* [some-team] commit it up

* Fixes

* pretty much over

Co-authored-by: pitust <piotr@stelmaszek.com>
Co-authored-by: pitust <41321673+pitust@users.noreply.github.com>
d8d634c

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
Aug 23, 2021
Aug 20, 2021

some language by some team

The language concept revolves around threads, (each represented internally by a posix thread), which can produce work, as well as commenting on other thread's work! The language is dynamically typed, and compiled to c++!

Getting started

  1. Install clang++ on your system
  2. Install nodejs (see https://github.com/nvm-sh/nvm)
  3. Run npm i -g pnpm ts-node in order to install global dependencies.
  4. Run pnpm i (in the code subdirectory) in order to install local dependencies
  5. (that's a lot of steps) run ts-node -T src/compiler.ts while in the code subdirectory to use the compiler!

Samples:

Hello, world

@thread
fn main() {
    @log("Hello, world!");
}

A more advanced program with comments

@thread
fn some_thread() {
    let i = 0;
    for {
        let work = @publish_work(i);
        for {
            let comment = @rfc(work);
            if (comment == :main_ack) {
                break;
            }
            @log("Comment: *", comment);
        }
        i += 1;
    }
}

@thread
fn main() {
    for {
        let work = @seework("some_thread");
        @comment(work, :main_ack);
        @log("some_thread's work: *", work);
    }
}